package br.edu.fasete.javaroad.model;

public class ClassAssociationDescriptor {
	private String nome;
	private String classe;
	private EntityDescriptor targetClass;
	private String tipo;
	private boolean cascade;
	private boolean manytomany;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getClasse() {
		return classe;
	}
	public void setClasse(String classe) {
		this.classe = classe;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public ClassAssociationDescriptor(String nome, String classe, String tipo) {
		this.nome = nome;
		this.classe = classe;
		this.tipo = tipo;
		this.cascade = false;
	}
	public ClassAssociationDescriptor() {
	}
	public boolean isCascade() {
		return cascade;
	}
	public void setCascade(boolean cascade) {
		this.cascade = cascade;
	}
	public boolean isManytomany() {
		return manytomany;
	}
	public void setManytomany(boolean manytomany) {
		this.manytomany = manytomany;
	}
	
	public String toString() {
		return this.nome + " (" + this.classe + ")";
	}
	
	public boolean equals(Object o) {
		if(o instanceof ClassAssociationDescriptor) {
			ClassAssociationDescriptor outra = (ClassAssociationDescriptor) o;
			return this.nome.equals(outra.getNome()) && this.classe.equals(outra.getClasse());
		}
		return false;
	}
	public void setTargetClass(EntityDescriptor targetClass) {
		this.targetClass = targetClass;
	}
	public EntityDescriptor getTargetClass() {
		return targetClass;
	}
	
}
